package com.server.store.data;

import java.util.ArrayList;
import java.util.List;

import com.google.appengine.api.datastore.EntityNotFoundException;
import com.googlecode.objectify.Key;
import com.googlecode.objectify.Objectify;
import com.googlecode.objectify.ObjectifyService;
import com.googlecode.objectify.Query;
import com.shared.model.Compagnie;
import com.shared.model.Interlocuteur;
import com.shared.utilitaire.Adresse;
/**
 * DAO de gestion des {@link Compagnie}
 * @author queyroi
 *
 */
public class CompagnieManager extends DataManager<Compagnie> {

	static{
		ObjectifyService.register(Interlocuteur.class);
		ObjectifyService.register(Adresse.class);
		ObjectifyService.register(Compagnie.class);
	}
	

	@Override
	public List<Compagnie> getList() {
		List<Compagnie> listReturn = new ArrayList<Compagnie>();
		Objectify ofy = ObjectifyService.begin();
		Query<Compagnie> query = ofy.query(Compagnie.class);
		for(Compagnie c : query){
			listReturn.add(c);
		}
		return listReturn;
	}

	public List<Interlocuteur> getListInterlocuteurs(Compagnie obj) throws EntityNotFoundException{
		Objectify ofy = ObjectifyService.begin();
		List<Interlocuteur> listReturn = new ArrayList<Interlocuteur>();
		for(Key<Interlocuteur> keyInterlocuteur : obj.getListeKeyInterlocteurs()){
			listReturn.add(ofy.get(Interlocuteur.class,keyInterlocuteur.getId()));			
		}
		return listReturn;
	}

}
